草庐IT

Java EE 计划任务

全部标签

python - 我将如何在 python 中创建一个(异步/线程/任务)后台队列?

对于C#应用程序,我使用了一个后台队列,我可以在其中排队“操作”。我希望在Python中做同样的事情。后台队列应该“入队”一个“Action”,其中包含对函数的调用(有或没有变量),并且应该在主程序继续执行其自己的功能时继续执行任务。我已经尝试过使用rq,但这似乎不起作用。我很想听听一些建议!编辑:这段代码是关于:classDatabaseHandler:def__init__(self):try:self.cnx=mysql.connector.connect(user='root',password='',host='127.0.0.1',database='mydb')self.

python - 我将如何在 python 中创建一个(异步/线程/任务)后台队列?

对于C#应用程序,我使用了一个后台队列,我可以在其中排队“操作”。我希望在Python中做同样的事情。后台队列应该“入队”一个“Action”,其中包含对函数的调用(有或没有变量),并且应该在主程序继续执行其自己的功能时继续执行任务。我已经尝试过使用rq,但这似乎不起作用。我很想听听一些建议!编辑:这段代码是关于:classDatabaseHandler:def__init__(self):try:self.cnx=mysql.connector.connect(user='root',password='',host='127.0.0.1',database='mydb')self.

ruby-on-rails - 使用 Resque with Redis To Go 做后台任务有什么意义

如果将调用外部服务(例如发送电子邮件)之类的任务发送到后台任务和工作人员以从主应用程序中删除耗时的任务,我不明白为什么将Resque与RedisToGo一起使用是这样的好主意。RedisToGo本身不是一个外部服务吗,在这种情况下,这不会破坏目的,因为在RedisToGo上存储队列的键/值是不可预测的,并且本身可能会耗费时间?编辑我感到困惑的原因是我没有设置任何工作人员,队列是由Resque在RedisToGo上生成的(显然操作正在等待,因为没有工作人员)。所以我假设这意味着最初的RedisToGo写入是由主线程完成的。 最佳答案

ruby-on-rails - 使用 Resque with Redis To Go 做后台任务有什么意义

如果将调用外部服务(例如发送电子邮件)之类的任务发送到后台任务和工作人员以从主应用程序中删除耗时的任务,我不明白为什么将Resque与RedisToGo一起使用是这样的好主意。RedisToGo本身不是一个外部服务吗,在这种情况下,这不会破坏目的,因为在RedisToGo上存储队列的键/值是不可预测的,并且本身可能会耗费时间?编辑我感到困惑的原因是我没有设置任何工作人员,队列是由Resque在RedisToGo上生成的(显然操作正在等待,因为没有工作人员)。所以我假设这意味着最初的RedisToGo写入是由主线程完成的。 最佳答案

python - 在 celery 中如何获得队列中的任务位置?

我使用Celery和Redis作为代理,我可以看到队列实际上是一个以序列化任务作为项目的Redis列表。我的问题是,如果调用.delay()后我有一个AsyncResult对象,有没有办法确定项目在队列中的位置?更新:我终于能够通过以下方式获得职位:fromcelery.task.controlimportinspecti=inspect()i.reserved()但它有点慢,因为它需要与所有worker沟通。 最佳答案 您提到的inspect.reserved()/scheduled()可能有效,但不是总是准确的,因为它只考虑任务

python - 在 celery 中如何获得队列中的任务位置?

我使用Celery和Redis作为代理,我可以看到队列实际上是一个以序列化任务作为项目的Redis列表。我的问题是,如果调用.delay()后我有一个AsyncResult对象,有没有办法确定项目在队列中的位置?更新:我终于能够通过以下方式获得职位:fromcelery.task.controlimportinspecti=inspect()i.reserved()但它有点慢,因为它需要与所有worker沟通。 最佳答案 您提到的inspect.reserved()/scheduled()可能有效,但不是总是准确的,因为它只考虑任务

python - 如何暂停或恢复 celery 任务?

我在我的项目中有一个要求,客户可以暂停或恢复挂起的流程,而不是流程一。我正在使用网络套接字显示celery任务结果,但在暂停/恢复时我不明白如何设计代码。我想到的唯一方法是撤销暂停请求中的任务同时保留的数据撤销进程在缓存中,稍后在resumeapi中使用该缓存再次启动celery任务。通过使用这种方法,我的websocket设计流程会受到干扰,因为我通过websocket轮询了任务处理状态,当没有进程时,我发送了完成true标志关闭连接.要知道哪个任务正在处理或挂起,我添加了一个单独的任务映射表,并在执行最后一个任务时刷新该表。请帮助我将这个设计完美无缺,如果我遗漏了什么,也请指出。

python - 如何暂停或恢复 celery 任务?

我在我的项目中有一个要求,客户可以暂停或恢复挂起的流程,而不是流程一。我正在使用网络套接字显示celery任务结果,但在暂停/恢复时我不明白如何设计代码。我想到的唯一方法是撤销暂停请求中的任务同时保留的数据撤销进程在缓存中,稍后在resumeapi中使用该缓存再次启动celery任务。通过使用这种方法,我的websocket设计流程会受到干扰,因为我通过websocket轮询了任务处理状态,当没有进程时,我发送了完成true标志关闭连接.要知道哪个任务正在处理或挂起,我添加了一个单独的任务映射表,并在执行最后一个任务时刷新该表。请帮助我将这个设计完美无缺,如果我遗漏了什么,也请指出。

python - 不同 Docker 容器中不同 python 应用程序的 celery 任务

我已经阅读官方Celery的docs,DigitalOcean的tutorial然后运行得很好examples.但我无法理解我的应用程序如何像在ResqueRuby中那样进行通信。例如,我在docker容器中有主要的python应用程序,它必须为其他容器中的2个其他python应用程序生成任务。在Resque中,我的应用程序只是监听一些队列并接受任务,然后做一些工作并推回响应。 最佳答案 Celery还需要一个队列/代理来在应用程序进程和工作进程之间进行通信。参见http://docs.celeryproject.org/en/la

python - 不同 Docker 容器中不同 python 应用程序的 celery 任务

我已经阅读官方Celery的docs,DigitalOcean的tutorial然后运行得很好examples.但我无法理解我的应用程序如何像在ResqueRuby中那样进行通信。例如,我在docker容器中有主要的python应用程序,它必须为其他容器中的2个其他python应用程序生成任务。在Resque中,我的应用程序只是监听一些队列并接受任务,然后做一些工作并推回响应。 最佳答案 Celery还需要一个队列/代理来在应用程序进程和工作进程之间进行通信。参见http://docs.celeryproject.org/en/la